package com.csist.jobtitleevaluation.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.csist.jobtitleevaluation.mapper.ZyjszwrzzgpsMapper;
import com.csist.jobtitleevaluation.po.Zyjszwrzzgps;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 申报记录 前端控制器
 * </p>
 *
 * @author chun
 * @since 2021-12-6
 */
@Controller
@RequestMapping("/declareRecord")
public class DeclareRecordController {

    @Autowired
    private ZyjszwrzzgpsMapper zyjszwrzzgpsMapper;


    /**
     * 查看申报记录
     *
     * @param current
     * @return
     */
    @ResponseBody
    @GetMapping("/seeDeclareRecord/{current}")
    public Page<Zyjszwrzzgps> seeDeclareRecord(@PathVariable("current") Integer current) {
        // 判断当前页数是否为空或者为0，如果为空，则默认为1
        if (current == null || current <= 0) current = 1;

        Page<Zyjszwrzzgps> page = new Page<>(current, 9);
        QueryWrapper<Zyjszwrzzgps> queryWrapper = new QueryWrapper<>();
        //
        queryWrapper.select("f_clbh", "name", "create_time", "update_time",
                "f_nsbzc", "f_nsbzyjszwdj", "f_sbzy", "f_ujdwhdq");
        zyjszwrzzgpsMapper.selectPage(page, queryWrapper);

        return page;
    }

    /**
     * 删除申报记录
     *
     * @param clbhList 材料编号集合
     * @return
     */
    @ResponseBody
    @PostMapping("/deleteDeclareRecord")
    public Boolean deleteDeclareRecord(@RequestBody List<String> clbhList) {
        // 判断要删除的对象是否为空
        if (clbhList != null) {
            // 遍历集合
            try {
                for (String clbh : clbhList) {
                    QueryWrapper<Zyjszwrzzgps> queryWrapper = new QueryWrapper<>();
                    // 根据材料编号删除
                    queryWrapper.eq("f_clbh", clbh);
                    zyjszwrzzgpsMapper.delete(queryWrapper);
                }
            } catch (Exception e) {
                return false;
            }
            return true;
        }
        return false;
    }


    /**
     * 查看申报人信息
     *
     * @param clbh 材料编号
     * @return
     */
    @ResponseBody
    @GetMapping("/viewPersonalInformation")
    public Zyjszwrzzgps viewPersonalInformation(String clbh) {
        QueryWrapper<Zyjszwrzzgps> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("f_clbh", "clbh");
        queryWrapper.select("name", "f_clbh", "f_sfzh", "f_sjh", "f_gzdw");
        try {
            // 根据材料编号查询
            return zyjszwrzzgpsMapper.selectOne(queryWrapper);
        } catch (Exception e) {
            return null;
        }

    }

}
